1. Field
This disclosure generally relates to monitoring applications over a network.
2. Background
Today, web pages include interactive features allowing users to interact and collaborate with each other. These web pages may include client-side code to be executed in a browser. Different browsers and systems are available for Internet users. Consequently, browser-interpreted code may execute in a diverse set of environments. For example, the client-side code may be executed in different browsers, operating systems, and computing devices (e.g., tablets, smartphones, and desktops). Further, browsers exist with many different configurations, language settings, types, and versions. These differences may result in problems at the client that are not detectable by a conventional monitoring system. For example, the code may break on one system and not on other systems.
Web applications are increasingly susceptible to outages caused by faulty code executed in a browser. The code may fail in ways ranging from minor malfunctions to complete outages of the web application. These outages are not detectable using traditional production monitoring. For example, white box monitoring is a traditional approach to monitoring web applications. White box monitoring monitors key metrics at the server and looks at internal variables within the server to ensure that metric expectations are satisfied. Many outages occurring at the browser do not affect the monitored metrics. Consequently, these outages are difficult to detect by an administrator of the web application's serving system when traditional production monitoring is used. This leads to unnecessary service unavailability resulting from a long time-to-detection because administrators rely on users to manually report the outage.